Summar of implementations of DatabaseTableProvider

Name Comments
ProductOptionsTable The ProductOptionsTable handles inserting and updating product parameters and options, often called product variants A ProductParameter is something about a product which can have options, for example "size" and "color" are 2 common parameters. Each ProductParameter can have associated options. For example the "color" parameter could have options of "red" and "blue" The fields supported by this provider are:
  • productCode - Code for this variant, eg 'black'
  • parameterCode - Code for this variant type, eg 'colour'
  • parameterTitle - Title for this variant type, eg 'Choose your wonderful colour'
  • name - Code for this variant, eg 'black'
  • title - A descriptive title for the variant, eg 'Glossy Black'
  • cost - The incremental cost of this variant
OrganisationTableProvider Updates child organisations of the current account Example:
 <next class="DatabaseUpdateStep" providerId="organisation" mode="updateOrInsert" setIntoAttribute="dealership">
 <!-- use star guild code as orgid, with leading zeros - 0000133433 -->
 <column field="orgId" column="1" >
 <expr>
 if(formatter.isNull(value) || value == "N/A"){
 return formatter.padWith("0", row[2], 10);
 }else{
 return formatter.padWith("0", value, 10);
 }
 </expr>
 </column>
 <column field="title" column="0" />
 <column field="orgType" >
 <value class="string">dealership</value>
 </column>
 <column field="StarClExDealerCode" column="2" /> <!-- custom field for dealership -->
 <column field="StarGuildCode" column="1" /> <!-- custom field for dealership -->
 <column field="address" column="0" />
 <column field="addressLine2" column="9" />
 <column field="suburb" column="10" /> <!-- custom field -->
 <column field="state" column="11" />
 <column field="postcode" column="12" />
 <column field="phone" column="13" />
 <column field="country">
 <value class="string">AU</value>
 </column>
 <skipIfBlankColumns>
 <int>0</int>
 <int>2</int>
 <int>3</int>
 </skipIfBlankColumns>

 </next>
 
CategoryTableProvider
ProductInRewardTableProvider This table provider takes care of inserting and updating the product in rewards table. This adds a product to a reward store.
  • productName Eg "ABC-123" - Unique product identifier, ie SKU
  • rewardStoreName - Eg "myrewardstore" - Unique identifier for the reward store to add products to
  • multiplier - Eg "2" - Multiplier for calculating points from base cost
  • margin - Eg "0.1" - Override margin from reward store
  • margin2 - Eg "2" - Override margin2 from reward store
  • gstRate - Eg "2" - Override GST rate from reward store
  • pointsOverride - Eg "2" - Final points value, overriding the calculated value
PointsRowProvider Updates - NOTE DONE YET!!!
ProfileTableProvider Updates profile and membership info
ProductsTable This is a database table provider for Products Note that products can be associated with categories, and product options, and can also be added to reward stores. Use the CategoryTableProvider to setup categories, the ProductOptionsTable to setup variants, parameters and options for each product, and ProductInRewardTableProvider to associate products with reward stores This handles specific fields:
  • name - Unique identifier, ie health-fitness
  • title - A descriptive title for the category
  • notes - More description and notes
  • status
  • baseCost - The base cost of this item
  • freightCost - The cost to ship the item
  • category - A category to add the product to
DataSeriesProvider NOTE - use the SalesDataInserter instead!!!!
FastPointsRowProvider
FastPointsDebitRowProvider
GroupMembershipTableProvider
SurveyRowProvider Updates not supported yet Allows criteria parameters of startDate, finishDate and rewardNames
ProductInCategoryTableProvider This table provider takes care of inserting and updating the product in categories table,which links a product to a category
  • productName Eg "ABC-123" - Unique product identifier, ie SKU
  • categoryName - Eg "Electronics" - Unique identifier for the category to add products to